Enterprise task manager

ABSTRACT

An enterprise task management system ( 24 ) for managing data maintenance tasks across multiple applications. System ( 24 ) includes a task manager module ( 60 ) and a task engine module ( 62 ). Task manager module ( 60 ) includes two primary graphical user interfaces: a user interface ( 64 ) and a system administrator interface ( 66 ). User interface ( 64 ) includes an enterprise task list ( 22 ), a preview text box ( 96 ), and an instructions text box ( 100 ). Task engine module ( 62 ) includes the following sub-modules: ETM system setup ( 70 ) and task generation ( 72 ). Another aspect of the present invention is a system architecture for centrally managing the creation of tasks. Additional aspects of the present invention include a method of generating data maintenance tasks within an enterprise information system a method of populating task data fields using task templates, and a method of automatically generating and performing tasks within system ( 24 ).

FIELD OF THE INVENTION

The present invention relates generally to a task management system andmore particularly relates to a task management system for centrallymanaging tasks across an entire enterprise.

BACKGROUND

The rising cost of providing healthcare services has increased theconsolidation of healthcare service providers and thus the size ofintegrated delivery networks (IDN). Management of large IDNs posesunique organizational problems. The result is often increased revenuecycles with respect to patient billing and poorer customer service.Existing task management structures are often not flexible enough toeffectively handle the dynamic changes that occur on an on-going basisin large IDNs.

In order to manage the volume of data in IDNs, healthcare providerorganizations have turned to sophisticated data management systems orapplications. Typically, these systems include modules for maintainingor improving the quality of data. By improving the quality of data,i.e., correcting errors and or omissions in data, the revenue cycle forpatient billing may be reduced and the overall service to customers maybe improved. Generally, for each healthcare service provider in the IDN,a task list is developed and populated with tasks for improving dataspecific to that particular provider. A user such as a data clerk isoften responsible for working the tasks that populate the task lists.

For large IDNs, the tasks that populate the task lists may include tasksinput by users of the system, tasks input by third party systems, andtasks generated by the data management system itself. Prior art datamanagement systems typically are not capable of integrating tasks fromacross an entire enterprise or IDN. Rather, prior art systems typicallyinclude a plurality of task lists and require users to “jump” from onetask list to another to work tasks. In addition, prior art systemsincluding multiple task lists do not allow a system administrator toeasily manage all of the tasks in the system from a single interface. Asa result, tasks are sometimes duplicated, lost, incorrectly entered, andincorrectly worked. Generally, system resources are often notefficiently used.

SUMMARY OF THE INVENTION

One aspect of the present invention is an enterprise information systemfor managing data maintenance tasks across multiple applications withinan enterprise. The system includes a task manager module having anenterprise task list, the enterprise task list including tasks generatedoutside the system at the multiple applications and tasks generatedwithin the system, and a task engine module adapted to create tasks, thetask engine module in communication with the task manager module.

Another aspect of the present invention is a method of generating datamaintenance tasks within an enterprise information system, the methodincluding the following steps: filing a source object and event to thesystem; determining whether the event is a custom event or a systemevent; adding all system events to an event queue; determining for eachof the custom events whether a corresponding custom event ruleset istrue; adding each of the custom events where the corresponding customevent ruleset is true to the event queue; determining for each of thecustom or system events in the event queue whether a task definitioncorresponding to each of the custom or system events exists; determiningfor each task definition corresponding to each of the custom or systemevents whether a task definition ruleset is true; and generating a taskfor each of the custom or system events having a task definition rulesetthat is true.

Still another aspect of the present invention is a graphical userinterface for use in an enterprise information system for managing datamaintenance tasks across multiple applications. The graphical userinterface includes a first portion having an enterprise task list. Theenterprise task list includes tasks generated outside the system at themultiple applications and tasks generated within the system.

Another aspect of the present invention is a system architecture forcentrally managing the creation of tasks. The system architectureincludes the following: a source object layer including one or moresource objects, each of the one or more source objects having acorresponding event; a target object layer including one or more targetobjects; and an enterprise task manager layer between said source objectlayer and said target object layer, wherein said enterprise task managerlayer centrally manages relationships between each of the one or moresource objects and each of the one or more target objects.

Still another aspect of the present invention is a method of populatingtask data fields using task templates. The method includes the followingsteps: populating each of the task data fields that are empty with datafrom corresponding data fields in a task definition template; populatingeach of the task data fields that are empty with data from correspondingdata fields in a task name template; populating each of the task datafields that are empty with data from corresponding data fields in asource object template; and populating each of the task data fields thatare empty with data from corresponding data fields in a system template.

Yet another aspect of the present invention is a method of automaticallygenerating and performing tasks within an enterprise task managementsystem. The method includes the following steps: providing an agentincluding a predetermined ruleset; comparing data against thepredetermined rules of the agent; and causing the system to generatetasks according to the predetermined ruleset of the agent.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show a formof the invention that is presently preferred. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is a simplified schematic diagram of a prior art configurationfor accessing tasks created by a plurality of providers in an IDN;

FIG. 2 is a simplified schematic diagram of a configuration foraccessing tasks created by a plurality of providers in an IDN accordingto one embodiment of the present invention;

FIG. 3 is a simplified schematic diagram of a computer system foraccessing the ETM system according to one embodiment of the presentinvention;

FIG. 4 is a schematic diagram of the enterprise task manager systemaccording to one embodiment of the present invention;

FIG. 5 is a schematic diagram of a graphical user interface according toone embodiment of the present invention;

FIG. 6 is a schematic diagram of a graphical user interface according toone embodiment of the present invention;

FIG. 7 is a flow chart of steps taken by a user when using a graphicaluser interface according to FIG. 5 or 6;

FIG. 8 is a schematic diagram of a task generation sub-module accordingto one embodiment of the present invention;

FIG. 9 is a flow chart of a process for generating tasks by the systemaccording to one embodiment of the present invention;

FIG. 10 is a flow chart of a process for creating tasks using agentsaccording to one embodiment of the present invention;

FIG. 11 is a schematic of templates used to populate new task datatables according to one embodiment of the present invention;

FIG. 12 is a flow chart of a process for populating task data fieldsusing templates according to one embodiment of the present invention;

FIG. 13 is a simplified schematic diagram of a prior art task managementsystem architecture;

FIG. 14 is a block diagram of a prior art process for adding new objectsto the architecture illustrated in FIG. 13;

FIG. 15 is a simplified schematic diagram of a task management systemarchitecture according to one embodiment of the present invention; and

FIG. 16 is a block diagram of a process for adding new objects to thearchitecture illustrated in FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is directed to an enterprise task managementsystem for managing data maintenance tasks across multiple applications.The present invention includes a system having an enterprise task list,a graphical user interface, an architecture, and processes for creatingand managing tasks across an enterprise such as an IDN. Examples of thedisclosed invention are depicted in FIGS. 1-16, although it should beunderstood that the present invention is not limited to this (or anyother) particular embodiment, but rather is intended to cover allsystems, graphical user interfaces, architectures, and processes thatfairly fall within the broad scope of the appended claims.

Turning to the drawings, wherein like reference numerals refer to likeelements, FIG. 1 illustrates how a user or system administrator accessesdata maintenance task lists in a prior art data management system.Typically, a user or system administrator 10 has to access a separatedata management system for each healthcare service provider in the IDN,i.e., “HOSPITAL #1” 12, “LAB” 14, and “HOSPITAL #2” 16, to view itsrespective task list, i.e., task lists 13, 15, and 17.

FIG. 2 illustrates how a user or system administrator accesses datamaintenance task lists in the enterprise task management (ETM) system ofthe present invention. In the ETM system of the present invention, auser or system administrator 20 only has to access a single task list,i.e., an enterprise task list 22, in an ETM system 24, which are bothdescribed in greater detail below, to view all tasks in the IDN. Datamaintenance tasks related to each of the healthcare service provider inthe IDN, i.e., “HOSPITAL #1” 25, “LAB” 26, and “HOSPITAL #2” 27, aremaintained on enterprise task list 22.

Referring to FIG. 3, ETM system 24 of the present invention isillustrated as being implemented in an appropriate computingenvironment. Although not required, the invention will be describedgenerally in terms of computer-executable instructions, such as programmodules, being executed by a conventional, general purpose, digitalcomputer. Typically, program modules include routines, programs,objects, components, data structures, etc. that perform specific tasks.The invention may be practiced with a variety of computer systemconfigurations, including networked client-server computing systems,hand-held devices, programmable consumer electronics, minicomputers,mainframe computers, and the like. The invention will typically, but notnecessarily, be practiced in distributed computing environments wheretasks are performed by remote processing devices that are linked througha communications network, e.g., a LAN, WAN or an Internet-based network.In a distributed computing environment, program modules may be locatedin both local and remote memory storage devices.

It is contemplated that the system of the present invention will operatein a networked computing environment including a personal computer 30and an Internet server 42. Personal computer 30 includes a computercentral processing unit (CPU) 32, a computer memory 34, and input/outputdevices 36. Typically, ETM system computer programs 38 reside in aserver memory 40 of an Internet server 42. Of course, ETM systemcomputer programs 38 may reside in the memory of a local or wide areanetwork server or in the memory of an individual desktop computersystem. Typically, ETM system computer programs 38 may be accessed via athin client access program 44 that resides in computer memory 34 ofcomputer system 30. In such a configuration, ETM system computerprograms 38 may be executed on either or both an Internet server CPU 46and computer CPU 32. Input/output devices 36 typically include a storagedevice 48, such as a hard disk drive, a keyboard 50, a pointing device52, i.e., a mouse, and a display device 54, such as a monitor.

Referring now to FIG. 4, one embodiment of the enterprise task managersystem (may be referred to herein as “ETM system”, “system”, or “ETM”)is illustrated. Dashed lines in FIG. 4 enclose ETM system 24 and itsvarious components. ETM system 24 includes two primary modules, a taskmanager module 60 and a task engine module 62. Task manager module 60includes two primary interfaces, a user interface 64 and a systemadministrator interface 66. Both user interface 64 and systemadministrator interface 66 are typically graphical user interfaces (GUI)that are displayed to a user or system administrator via a displaydevice 54. Accordingly, user interface 64 and system administratorinterface 66 may be referred to herein as GUI 64 and GUI 66,respectively. User interface 64 includes enterprise task list 22, whichwas described above with respect to FIG. 2. Task manager module 60 issupported by and in communication with a task database 68. Task enginemodule 62 primarily includes two sub-modules: ETM system setup 70 andtask generation 74. Task engine module 62 is supported by and incommunication with a task engine database 78.

As described above, enterprise task list 22 serves as a centralrepository for tasks (not shown) generated across an IDN or similarenterprise. The tasks included on enterprise task list 22 are stored intask database 68. Enterprise task list 22, which is part of userinterface 64 within task manager module 60, may be populated with tasks76 that are directly entered into task database 68 or tasks 78 that areindirectly entered into task database 68 via task generation sub-module74 of ETM system 24.

Tasks 76 that are directly entered into task database 68 are typicallyentered by a user, system administrator, and or 3^(rd) party datamaintenance system. Tasks 76 may also be directly entered into taskdatabase 68 by ETM system 24 by an agent. As described in greater detailbelow, tasks 78 are developed by task generation sub-module 74 inresponse to interaction between ETM system 24 and any one or all of auser or system administrator, a 3^(rd) party system, or by ETM system 24itself through the use of agents or the like. Interaction with ETMsystem 24 causes a source object and associated event 80 to be filed totask generation sub-module 72 of ETM system 24. Objects are componentsof a system that might require tasks. For example, in the context of ahealthcare IDN, a patient, an invoice, and an appointment may all beobjects. Typically, there are two types of objects: source and target. Asource object is an object that files to the system and may trigger atask. For example, if a claim form edit object files to the system, itmay trigger a task to update a patient's registration information. Atarget object is the object that needs attention for the task. Forexample, if a task instructs a user to update a patient's registrationinformation, the target object is Patient. Events are the actions thatoccur when source objects file to the system. For example, when you edita patient record and file, the source object is Patient and the event isEdit. Events are typically referred to as “statefull” in that they aresurrounded by data from a source object. In contrast, a task isgenerally referred to as “stateless” because it begins as an empty shellthat is populated with data based on the source object and event. Eachtime a source object files, either manually by a user or automaticallyby the system, task generation sub-module 72 evaluates the contents ofthe source object and associated event 80 and determines whether togenerate and store a task in task database 68.

In use, a user primarily interacts with ETM system 24 via task managermodule 60. Typically, a user accesses task manager module 60 via userinterface 64 to view and work tasks that are included in enterprise tasklist 22. Task manager module 60 allows a user to create specificquery-based views of enterprise task list 22, work tasks according topre-determined work options, create/edit/view/remove tasks fromenterprise task list 22, re-assign ownership of tasks to other users,change task status, etc. Depending on a user's skill and their level ofaccess to the system, a user may access task engine module 62 to use ETMsetup sub-module 70 for the creation of new tasks.

A system administrator typically interacts frequently with ETM system 24via both task manager module 60 and task engine module 62. A systemadministrator accesses system manager module 60 via system administratorinterface 66 and accesses task engine module 62 via ETM setup sub-module70. A system administrator typically uses task manager module 60 tomonitor productivity and task activity, create enterprise views to beused when viewing enterprise task list 22 as explained further below,and maintain overall system security. A system administrator typicallyaccesses task engine module 62 to provide services to define tasks,define rules that govern the generation, execution, escalation, andcompletion of tasks, and create agents which operate within the systemto automatically create or perform tasks.

As described above, a user typically interacts with task manager module60 of ETM system 24 to view and work tasks included on enterprise tasklist 22. As also described above, enterprise task list 22 is displayedto a user via GUI 64. Referring now to FIGS. 5-7, GUI 64 includes afirst portion 90 and a second portion 92. First portion 90 includesenterprise task list 22. Second portion 92 includes a preview tab 94 andcorresponding preview text box 96 and an instructions tab 98 andcorresponding instructions text box 100 (shown in FIG. 6). Of course, inother embodiments, additional tabs may be included. In addition, anytype of data, link, or instruction may be included in each tab included.A plurality of buttons facilitates user interaction with enterprise tasklist 22. Edit button 102 allows a user to edit a selected task 104. InFIGS. 5 and 6, only one task, selected task 104, is selected as denotedby the “X” in task selection column 106 to the left of “Task Name”column 107. However, a user may select a plurality of tasks for viewingand or working by marking the box in task selection column 106 for eachtask desired. New button 108 allows a user to manually add a new task toenterprise task list 22. Actions button 110 allows a user to selectactions from a dropdown menu (not shown) having predefined actions forworking common tasks. Examples of predefined actions include but are notlimited to hiding preview or instructions tabs 94 and 98, viewingselected tasks, manually marking tasks as done, reassigning tasks, andadding notes to tasks.

Enterprise task list 22 generally includes a plurality of data columns112 that include data related to a particular task. The particular datacolumns included in data columns 112 are determined according to aparticularly selected view 114 that is selected from a view dropdown box116. Particularly selected view 114 causes system 24 to run a queryagainst task database 68. The tasks that match the view query aredisplayed on enterprise task list 22. In addition to data from taskdatabase 68, data from sources outside of task database 68, e.g., datafrom a target object, may be included in enterprise task list 22. Asmentioned above, a system administrator, using task engine module 62,creates the views that populate view dropdown box 116. A user maytypically access any views included in view dropdown box 116. Afterselecting a view, a user may alter selected view 114 by selecting aparticular column header 118 thereby sorting enterprise task list 22according to the data contained in the column beneath the selectedheader column 118.

Preview tab 94 and corresponding preview text box 96 allow a user toview additional data related to any of the tasks in enterprise task list22. Typically, a user highlights a particular task using pointing device52 to designate it as the presently selected task (not shown). Datarelated to the presently selected task populates preview text box 96. Inthis way, a significant amount of data may be displayed with respect toeach task in enterprise task list 22.

To begin working a task, a user may select start task button 120 orselect instructions tab 98. Selection of start task button 120 orinstructions tab 98 causes the instructions tab to be selected therebysimultaneously displaying instructions text box 100 (as illustrated inFIG. 6) and hiding preview text box 96. Instructions text box 100typically includes a list of options 122 for working the presentlyselected task. In FIG. 6, list of options 122 is numbered and arrangedin a particular order. However, in other embodiments, list of options122 may not be numbered or arranged in any particular order. Inaddition, in some instances, a task may only be informational and noinstructions will be provided.

Referring now to FIG. 7, GUI 64 is arranged in such a manner as tofacilitate efficient interaction by a user with enterprise task list 22.Typically, a user first selects a particular enterprise task list viewfrom view dropdown box 116 at step 130. Next, at step 132, a userdecides whether to sort particularly selected view 114 of enterprisetask list 22 according to one of column headers 118. If the user decidesto sort enterprise task list 22, the list is refreshed and sortedaccording to the column header 118 selected at step 134. If the userdoes not choose to sort enterprise task list 22, the process continuesat step 136 where the user selects one or more tasks to view or work.Referring again to step 134, after enterprise task list 22 is sorted,the process continues at step 136 where the user selects one or moretasks to view or work. After selecting tasks to view or work, at step138 the user determines whether to work one or more tasks or previewadditional task information. If a user decides to work one or moretasks, at step 140 the user selects start task button 120 therebycausing instructions tab 98 and instructions text box 100 to bedisplayed. Alternatively, the user may select preview tab 94 at step 138in order to preview additional information about the one or more tasksselected. If preview tab 94 is selected, preview tab 94 and preview textbox 96 are displayed. Although not illustrated in FIGS. 5-7, it iscontemplated in the present invention that in addition to sorting tasks,the tasks in enterprise task list 22 may be filtered and or arranged ingroups or categories.

A system administrator accesses task manager module 60 using GUI 66. GUI66 generally includes all the same elements as GUI 64. However, GUI 66will have added functionality that allows a system administrator to makeenterprise-wide modifications to tasks, views, security levels, andother system parameters. Therefore, GUI 66 likely will differ from GUI64 to include additional frames, buttons, and or other portions thatfacilitate a system administrator's increased functionality over a user.

As described above, task engine module 62 primarily includes twosub-modules: ETM setup 70 and task generation 72. A system administratortypically uses ETM setup sub-module 70 to configure the parameters ofETM system 24. A system administrator users ETM setup sub-module 70 todefine task names and their preview/instruction components, to defineevents, to define task definitions, to define task templates, to defineagents, and to define views, roles, and users for a task.

Task generation sub-module 72 is utilized by ETM system 24 to generatetasks for inclusion in task engine database 68 and enterprise task list22. Referring now to FIG. 8, task creation sub-module 72 includes aplurality of manager sub-modules that interact to generate tasks: anevent manager 150 having an event queue 152; a ruleset manager 154; atask definitions manager 156; a task generation manager 158 having asystem task generation routine 160 and a task duplicate checking routine162; an agent manager 164; and a templates manager 166.

Ruleset manager 154 supplies ETM rulesets (not shown) to both eventmanager 150 and task definitions manager 156. Task definitions manager156 supplies task definitions to event manager 150. Information is sentfrom event manager 150 and task definitions manager 156 to taskgeneration manager 158 where system task generation routine 160generates tasks using data supplied by templates manager 166. Templatesare described in detail below with reference to FIGS. 11 and 12.Alternatively, information may be sent from agent manager 164 to taskgeneration manager 158 instead of from event manager 150 and taskdefinitions manager 156. In addition, agent manager 164 may place eventson event queue 152. Before sending tasks to task database 68, tasksgenerated by system task generation routine 160 are checked by taskduplicate checking routine 162 to determine if identical tasks exist inthe system. Acceptable tasks are stored in task database 68 for viewingin enterprise task list 22. The data that populates the managers in taskgeneration sub-module 72 is provided by task engine database 78, whichis generally populated based on setup input from a system administrator.Much of the data stored in task engine database 78 is grouped indictionaries. For example, one dictionary may exist for task names andanother for views.

Tasks generated by task generation sub-module 72 of ETM system 24 aredevised through a specific process. Referring now to FIG. 9, the processin which system 24 generates tasks is illustrated. At step 170, a sourceobject is filed to the system. As explained above, the source object ispaired with a corresponding event. At step 172, it is determined whetherthe corresponding event is a system event or a custom event. Systemevents are default events provided by system 24. In contrast, a user orsystem administrator defines custom events.

If the event is a system event, the system event is added to event queue152 at step 174. If the event is a custom event, at step 176 it isdetermined whether the custom event ruleset, i.e., an ETM ruleset fromruleset manager 154, accompanying the custom event is true. ETM rulesetsare rules that determine when to create custom events or when to createand review tasks. Creation rulesets define the conditions that createcustom events and tasks. Review rulesets define the conditions underwhich the system reevaluates a task in enterprise task list 22 todetermine if it still needs to be worked. If the custom event ruleset isnot true, the process ends. If the custom event ruleset is true, theprocess continues at step 178 where the custom event is added to eventqueue 152.

Next, at step 180, it is determined for each event in event queue 152whether a task definition exists for the particular event and relatedsource object. A task definition links together the object, event, taskname or task reference, and ETM ruleset. Task names in a task definitionmay explicitly refer to a task name in a particular task name dictionaryor provide a column reference to a particular task name dictionary. Asystem administrator typically defines task definitions in ETM setupsub-module 70 of task engine module 62. If no task definition exists,the process ends. If a task definition exists, the process continues atstep 182 where it is determined whether the task definition ruleset,i.e., an ETM ruleset from ruleset manager 154, is true. If the taskdefinition ruleset is not true, the process ends. If the task definitionruleset is true, the process continues at step 184 where a task isgenerated by task generation sub-module 72.

Next, at step 186, it is determined whether the task generated at step184 is a duplicate, i.e., is already on file or already exists in taskdatabase 68. If the task generated at step 184 is found to alreadyexist, the status of the previously generated task is reviewed at step188. The status of the previously generated task is compared against apredetermined duplicate checking ruleset (not shown) at step 190. If theduplicate checking ruleset is not true, the process ends. If theduplicate checking ruleset is true, a new task may be generated tooverwrite the original task (retain history of original task), theoriginal task may be retained and no new task generated, the originaltask may be deleted and the new task added (lose history of originaltask), a duplicate task may be added, or the data fields of the new taskmay be merged with the data fields of the original task. At step 192,the new or modified task is added to task database 68. Referring to step186, if it is found that the task generated in step 184 is not aduplicate, the newly generated task will be added to task database 68 oftask manager module 60 at step 192.

As mentioned above, ETM system 24 may also create tasks via the use ofan agent. Another embodiment of the present invention is a method ofautomatically generating tasks within an enterprise task managementsystem. Referring to FIG. 10, at step 200, an agent having apredetermined ruleset is provided. Next, at step 202 and 203, a sourceobject filed to system 24 and data in task database 68 and task enginedatabase 78 are compared to the agent ruleset. Then, at step 204, it isdetermined whether the agent ruleset is true. If the agent ruleset istrue, a task is generated at step 206 and added to task database 68. Ifthe ruleset is not true, the process ends.

Some agents may merely cause an event to be placed in event queue 152.Other agents will by-pass event queue 152 and cause tasks to begenerated and added to task database 68. Other agents may also include apredetermined agent workflow that allows the system to automaticallywork the task. For example, an agent may be created that automaticallyupdates certain fields of data within task database 68. The user mayinitiate application of agent rulesets via queries. Alternatively,agents may be scheduled to operate on a predetermined basis or becauseof certain events within the system.

Another embodiment of the present invention includes a method ofpopulating task data fields using templates. Templates are placeholdersfor pointers to default data that system 24 requires to create a task.For example, when system 24 creates a task, it needs to know the date onwhich the task should be started or reviewed, and the task's priority.System 24 looks to the various task templates for this and otherrequired data. Templates exist at the system, object, task name, andtask definition level. System 24 typically uses templates in a setorder.

Referring to FIG. 11, when system 24 generates a task, a new task datatable having task data fields (also referred to as task attributes)including pertinent data regarding the task must be populated before thetask can be added to enterprise task list 22. FIG. 11 schematicallyillustrates the typical templates used to populate task data fields A1,A2, A3, and A4 of new task data table 210. In FIG. 11, the pertinentdata for task data fields A1, A2, A3, and A4 of new task data table 210are “1”, “3”, “6”, and “10” respectively. The typical templates includetask definition template 212, task name template 214, target objecttemplate 216, and system template 218. In FIG. 11, all of the templatesinclude the same task data fields, A1, A2, A3, and A4. Of course, inother embodiments, each template may contain different task data fields.In addition, in some cases only a few or none of the task data fields ina particular template will overlap with the task data fields in othertemplates.

As mentioned above, system 24 typically uses templates in a set order:first using values from task definition template 212; then task nametemplate 214; then target object template 216; and lastly systemtemplate 218. In FIG. 11, task data field A1 of new task data table 210is populated with data from task data field A1 of task definitiontemplate 212, task data field A2 of new task data table 210 is populatedwith data from task data field A2 of task name template 214, task datafield A3 of new task data table 210 is populated with data from taskdata field A3 of target object template 216, and task data field A4 ofnew task data table 210 is populated with data from task data field A4of system template 218.

FIG. 12 illustrates the steps for populating a new task data table usingtemplates. First in step 300, system 24 goes to the task definitiontemplate. Next, at step 302, for each of the task data fields that donot include data, the empty task data field(s) are populated with datafrom the corresponding data field, if any, in the task definitiontemplate. Then, at step 304, it is determined whether any of the taskdata fields remain empty. If none of the task data fields remain empty,the process ends. If any task data fields remain empty, system 24 goesto the task name template at step 306. Then at step 308, for each emptytask data field, the empty task data field is populated with data fromthe corresponding data field, if any, in the task name template. Next,at step 310, it is determined whether any empty task data fields remain.If no empty task data fields remain, the process ends. If any task datafields remain, the process continues at step 312. At step 312, system 24goes to the source object template. Then, at step 314, for eachremaining empty task data field, the empty task data field is populatedwith data from the corresponding data field, if any, in the sourceobject template. At step 316, it is then determined whether the taskincludes any remaining empty data fields. If there are no remainingempty task data fields, the process ends. If any task data fields remainempty, the process continues at step 318. At step 318, system 24 goes tothe system template. Then, at step 320, any empty data fields arepopulated with data from corresponding data fields, if any, in thesystem template. After completion of step 320, the process ends. Ofcourse, in other embodiments, more or fewer templates may be included.

Another aspect of the present invention is the overall architecture ofETM system 24. FIGS. 13 and 14 illustrate the architecture and processesoften found in prior art systems. Prior art system architecturegenerally includes a plurality of source objects and associated events400, i.e., “PATIENT”, “APPOINTMENT”, “INVOICE”, and “INSURANCEELIGIBILITY”. Each of source objects and associated events 400 may causea task 402 to be performed on one or more target objects 404 dependingon predetermined relationships between the objects.

As illustrated with respect to “INSURANCE ELIGIBILITY” in FIG. 1 and theprocess in FIG. 2, when a new object 406 is added, relationships 408must be established between new object 406 and every related existingobject, i.e., “PATIENT”, “APPOINTMENT”, and “INVOICE” in FIG. 1 andexisting objects 1 thru n in FIG. 14.

In a typical architecture, when a new object is added to the system, itis generally designed with transactions (methods or procedures) that itsupports. Existing objects wishing to integrate with new ones mustdefine an interface for each of the new object's transactions that itwishes to support. Conversely, new object's wishing to integrate withexisting ones must define the interface for each transaction it needs tosupport. In such an architecture, the interfaces expand geometricallybecause each existing object needs to interact with some or all of thetransactions supported by the new object while at the same time each newobject must interact with some or all of the transactions of theexisting objects. Typically, these kinds of interfaces are statefullwith the need to maintain the state after the transaction has beencompleted greatly adding to the complexity of the transaction itself.

FIGS. 15 and 16 illustrate the “hub and spoke” architecture used in ETMsystem 24 of the present invention. Referring to FIG. 15, a first layer500 includes a plurality of source objects 502 and corresponding events504. A second layer 506 includes a plurality of tasks 508 to beperformed on a plurality of target objects 510. A third layer 512 isinterposed between first layer 500 and second layer 506. Third layer 512includes ETM system 24 and its various components.

Referring now to FIG. 16, the architecture illustrated in FIG. 15simplifies the addition of new source objects within the system. A newsource object is added at step 550 and ETM system 24 automaticallyestablishes and manages relationships between the new source object andall target objects, as indicated at step 552. In contrast to the priorart architecture illustrated in FIGS. 13 and 14, the architecture of thepresent invention helps simplify the addition of new source objectswithin the system and reduces the amount of system administrator levelinput required to add new source objects. In addition, the architectureof the present invention is effective whether the source objects andtarget objects are the same or different.

In the architecture of the present invention, as an object is added tothe system, its events and methods (transactions) are declared to theETM setup sub-module 70. Direct interfaces between new and existingobjects can be avoided (although there may still be the need for someobject interaction). Through task definitions users determine theinteraction between events occurring with source objects to tasks(actions) to be taken on target objects. Many such tasks can becompleted automatically, by agents, eliminating any user interaction.The creation of such tasks and the actions taken (whether automatic ormanual) are always stateless, which greatly simplifies surrounding code.The surrounding code no longer needs to concern itself with properlymaintaining and/or updating the state when the transaction (method)occurs.

Another aspect of the present invention includes a task link table. Atask link table is maintained that keeps track of all the relationshipsbetween source objects, tasks, and target objects. This information isuseful to track the number of target objects that are corrected bycompletion of a single task. For example, when printing claims, a claimwill not print if a physician's identification number is incorrect. If50 out of 1000 claims are directed to a single physician with a faultyidentification number, it is desired that only a single task begenerated by the system to correct the faulty identification number.However, the task link table will let a user or system administratorknow that completion of the single task actually fixes 50 objects or 50claims.

Another aspect of the present invention is a diagnostic tool formonitoring the status of tasks and recording the history of work actionsperformed on tasks. A task-tracking attribute allows a user or systemadministrator to monitor the real-time status of any given task in thesystem. In addition, a historical register that records the actionsworked on each task is a valuable learning tool that can be used toefficiently improve workflows. In connection with a historical register,a user may provide notations that explain actions taken or otherpertinent information that may be helpful to a subsequent user.

The architecture of the present invention provides a flexible system formanaging tasks across an enterprise. Centrally managing therelationships between source objects and target objects allows both newobjects and new rulesets to be introduced to the system withoutrequiring significant hard coding.

Enterprise task manager of the present invention includes a graphicaluser interfaces that provide both an end-user and a system administratorwith a significant amount of information regarding tasks withoutrequiring the user or system administrator to navigate through acomplicated web of windows and menus. In addition, the preview andinstruction text boxes allow a user to efficiently and accurately worktasks.

The overall structure of the enterprise task manager significantlyimproves the efficiency of users by creating a centrally locatedenterprise-wide task list that includes tasks that are manually input byusers, created by the system, and created by third party applications.In this way, both the user and system administrator has access in asingle location to all the tasks in the system.

For system created tasks, the method of creating tasks using templatesinsures that the task data fields are accurately and efficientlypopulated. By arranging the templates in a hierarchical order, the taskdata fields are populated with the most up-to-date data. The method ofcreating tasks using agents is an effective way to mine data stored inthe enterprise task management system for any errors and to create andperform tasks to correct the data errors automatically. The use ofagents is an effective way to automatically improve the quality of datastored within the enterprise task management system.

One embodiment of the present invention has been disclosed and discussedherein, although it should be understood that the present invention isnot limited to this (or any other) particular embodiment. On thecontrary, the present invention is intended to cover all alternatives,modifications and equivalents that may be included within the spirit andscope of the appended claims.

1. An enterprise information system for managing data maintenance tasksacross multiple applications within an enterprise, the systemcomprising: a storage medium; a processor; a task manager moduleconfigured in the storage medium, and having an enterprise task list,said enterprise task list including tasks generated outside the systemat the multiple applications and tasks generated within the system; anda task engine module configured in the storage medium adapted to createtasks, said task engine module in communication with said task managermodule, wherein the processor is configured to effectuate the operationof the task manager module and the task engine module.
 2. An enterpriseinformation system according to claim 1, wherein said task managermodule further comprises predetermined task instructions for workingeach of the tasks.
 3. An enterprise information system according toclaim 1, wherein said enterprise task list includes a plurality of datafields and said task manager module is adapted to sort said enterprisetask list according to any one or more of said data fields.
 4. Anenterprise information system for managing data maintenance tasks acrossmultiple applications within an enterprise, the system comprising: astorage medium; a processor; a task manager module configured in thestorage medium, and having an enterprise ask list, said enterprise tasklist including tasks generated outside the system at the multipleapplications and tasks generated within the system; and a task enginemodule configured in the storage medium adapted to create tasks, saidtask engine module in communication with said task manager module,wherein the processor is configured to effectuate the operation of thetask manager module and the task engine module, further wherein taskscreated within said task engine module are communicated to said taskmanager module for inclusion in said enterprise task list.
 5. Anenterprise information system according to claim 4, wherein taskscreated by said task engine module are automatically worked by thesystem.
 6. An enterprise information system according to claim 4,wherein tasks created by said task engine module are presented to beworked by a user.
 7. An enterprise information system for managing datamaintenance tasks across multiple applications within an enterprise, thesystem comprising: a storage medium; a processor; a task manager moduleconfigured in the storage medium, and having an enterprise ask list,said enterprise task list including tasks generated outside the systemat the multiple applications and tasks generated within the system; anda task engine module configured in the storage medium adapted to createtasks, said task engine module in communication with said task managermodule, wherein the processor is configured to effectuate the operationof the task manager module and the task engine module, further whereinsaid task engine module automatically creates tasks according to definedrules.
 8. An enterprise information system according to claim 7, whereinsaid task engine module mines data across the enterprise informationsystem according to said defined rules to identify missing or incorrectdata and automatically creates tasks for correcting the missing orincorrect data.
 9. An enterprise information system according to claim2, wherein each of said predetermined task instructions includes one ormore links to sites outside of the system. 10.-49. (canceled)